package com.lyf.scm.admin.domain.excel.data;

import com.alibaba.excel.EasyExcel;
import com.lyf.scm.admin.domain.excel.dto.ReadNewProductDTO;
import com.lyf.scm.admin.domain.excel.dto.ReadNewStoreDTO;
import com.lyf.scm.admin.domain.excel.template.GmvTemplateOne;
import com.lyf.scm.admin.domain.excel.template.GmvTemplateTwo;
import com.lyf.scm.admin.domain.excel.template.SalesOtherTemplateOne;
import com.lyf.scm.admin.domain.excel.template.SalesOtherTemplateTwo;
import com.lyf.scm.common.constants.CommonConstants;
import com.lyf.scm.common.util.date.MyDateUtil;
import org.json.simple.JSONArray;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * description:
 * 获取模板写入数据
 *
 * @author: haodong
 * @data: 2020/8/16 11:25
 */
public class SalesOtherWriteData {

    /**
     * 销售计划（APP、经销中心、云商导入）导入模板
     *
     * @param type 1：APP、2：经销中心、3：云商
     * @return
     */
    public static List<SalesOtherTemplateOne> getTemplateOneData(Integer type) {
        List<SalesOtherTemplateOne> list = new ArrayList<>();
        SalesOtherTemplateOne salesOtherTemplateOne = new SalesOtherTemplateOne();
        if (CommonConstants.ONE.equals(type)) {
            salesOtherTemplateOne.setChannelCode("C00004");
            salesOtherTemplateOne.setChannelName("APP");
        } else if (CommonConstants.TWO.equals(type)) {
            salesOtherTemplateOne.setChannelCode("C00005");
            salesOtherTemplateOne.setChannelName("经销中心");
        } else {
            salesOtherTemplateOne.setChannelCode("C00003");
            salesOtherTemplateOne.setChannelName("云商");
        }
        salesOtherTemplateOne.setSkuCode("11441");
        salesOtherTemplateOne.setSkuName("糙米卷卷（蛋黄味）");
        salesOtherTemplateOne.setUnitName("箱");
        salesOtherTemplateOne.setWeekOne("100");
        salesOtherTemplateOne.setWeekTwo("100");
        salesOtherTemplateOne.setWeekThree("100");
        salesOtherTemplateOne.setWeekFour("100");
        salesOtherTemplateOne.setWeekFive("100");
        salesOtherTemplateOne.setWeekSix("100");
        list.add(salesOtherTemplateOne);
        return list;
    }

    /**
     * 销售计划（加盟）导入模板
     *
     * @return
     */
    public static List<SalesOtherTemplateTwo> getTemplateTwoData() {
        List<SalesOtherTemplateTwo> list = new ArrayList<>();
        SalesOtherTemplateTwo salesOtherTemplateTwo = new SalesOtherTemplateTwo();
        salesOtherTemplateTwo.setChannelCode("C00002");
        salesOtherTemplateTwo.setChannelName("门店-加盟");
        salesOtherTemplateTwo.setSkuCode("11441");
        salesOtherTemplateTwo.setSkuName("糙米卷卷（蛋黄味）");
        salesOtherTemplateTwo.setProvinceName("江苏省");
        salesOtherTemplateTwo.setCityName("南京市");
        salesOtherTemplateTwo.setStoreCode("2R03");
        salesOtherTemplateTwo.setUnitName("箱");
        salesOtherTemplateTwo.setWeekOne("100");
        salesOtherTemplateTwo.setWeekTwo("100");
        salesOtherTemplateTwo.setWeekThree("100");
        salesOtherTemplateTwo.setWeekFour("100");
        salesOtherTemplateTwo.setWeekFive("100");
        salesOtherTemplateTwo.setWeekSix("100");
        list.add(salesOtherTemplateTwo);
        return list;
    }

    /**
     * 新开店计划导入模板
     *
     * @return
     */
    public static List<ReadNewStoreDTO> getTemplateThreeData() {
        List<ReadNewStoreDTO> newStoreList = new ArrayList<>();
        ReadNewStoreDTO store = new ReadNewStoreDTO();
        store.setStoreCode("1001");
        store.setSkuCode("11441");
        store.setSkuName("糙米卷卷（蛋黄味）");
        store.setUnit("箱");
        store.setWeekOne("100");
        store.setWeekTwo("100");
        store.setWeekThree("100");
        store.setWeekFour("100");
        store.setWeekFive("100");
        store.setWeekSix("100");
        newStoreList.add(store);
        return newStoreList;
    }

    /**
     * 新品铺货计划导入模板
     *
     * @return
     */
    public static List<ReadNewProductDTO> getTemplateFourData() {
        List<ReadNewProductDTO> newStoreList = new ArrayList<>();
        ReadNewProductDTO dto = new ReadNewProductDTO();
        dto.setProvinceName("江苏省");
        dto.setCityName("南京市");
        dto.setStoreCode("2001");
        dto.setSkuCode("11441");
        dto.setSkuName("糙米卷卷（蛋黄味）");
        dto.setWeekOne("100");
        dto.setWeekTwo("100");
        dto.setWeekThree("100");
        dto.setWeekFour("100");
        dto.setWeekFive("100");
        dto.setWeekSix("100");
        dto.setUnit("箱");
        dto.setChannelName("门店-直营");

        ReadNewProductDTO dtod = new ReadNewProductDTO();
        dtod.setProvinceName("上海、江苏省、江西省");
        dtod.setCityName("");
        dtod.setStoreCode("");
        dtod.setSkuCode("11441");
        dtod.setSkuName("糙米卷卷（蛋黄味）");
        dto.setWeekOne("100");
        dto.setWeekTwo("100");
        dto.setWeekThree("100");
        dto.setWeekFour("100");
        dto.setWeekFive("100");
        dto.setWeekSix("100");
        dtod.setUnit("箱");
        dtod.setChannelName("门店-加盟");

        ReadNewProductDTO dtoa = new ReadNewProductDTO();
        dtoa.setSkuCode("11441");
        dtoa.setSkuName("糙米卷卷（蛋黄味）");
        dtoa.setWeekOne("100");
        dtoa.setWeekTwo("100");
        dtoa.setWeekThree("100");
        dtoa.setWeekFour("100");
        dtoa.setWeekFive("100");
        dtoa.setWeekSix("100");
        dtoa.setUnit("箱");
        dtoa.setChannelName("APP");

        ReadNewProductDTO dtob = new ReadNewProductDTO();
        dtob.setSkuCode("11441");
        dtob.setSkuName("糙米卷卷（蛋黄味）");
        dtob.setWeekOne("100");
        dtob.setWeekTwo("100");
        dtob.setWeekThree("100");
        dtob.setWeekFour("100");
        dtob.setWeekFive("100");
        dtob.setWeekSix("100");
        dtob.setUnit("箱");
        dtob.setChannelName("经销中心");

        ReadNewProductDTO dtoc = new ReadNewProductDTO();
        dtoc.setSkuCode("11441");
        dtoc.setSkuName("糙米卷卷（蛋黄味）");
        dto.setWeekOne("100");
        dto.setWeekTwo("100");
        dto.setWeekThree("100");
        dto.setWeekFour("100");
        dto.setWeekFive("100");
        dto.setWeekSix("100");
        dtoc.setUnit("箱");
        dtoc.setChannelName("云商");
        newStoreList.add(dto);
        newStoreList.add(dtod);
        newStoreList.add(dtoa);
        newStoreList.add(dtob);
        newStoreList.add(dtoc);

        return newStoreList;
    }

    public static List<List<String>> head() {
        List<List<String>> list = new ArrayList<List<String>>();
        List<String> head0 = new ArrayList<String>();
        head0.add("渠道编码(必填)");
        List<String> head1 = new ArrayList<String>();
        head1.add("渠道名称");
        List<String> head2 = new ArrayList<String>();
        head2.add("省份");
        List<String> head3 = new ArrayList<String>();
        head3.add("城市");
        List<String> head4 = new ArrayList<String>();
        head4.add("商品编码(必填)");
        List<String> head5 = new ArrayList<String>();
        head5.add("商品名称");
        List<String> head6 = new ArrayList<String>();
        head6.add("单位(采购单位)");
        //获取当天的当前周(固定6周)
        List<Map<String, String>> dateMap = MyDateUtil.getWeekDateBySize(new Date(),CommonConstants.SIX);
        List<String> head7 = new ArrayList<String>();
        head7.add("W1\n"+dateMap.get(0).get("startTime")+"-"+dateMap.get(0).get("endTime"));
        List<String> head8 = new ArrayList<String>();
        head8.add("W2"+dateMap.get(1).get("startTime")+"-"+dateMap.get(1).get("endTime"));
        List<String> head9 = new ArrayList<String>();
        head9.add("W3"+dateMap.get(2).get("startTime")+"-"+dateMap.get(2).get("endTime"));
        List<String> head10 = new ArrayList<String>();
        head10.add("W4"+dateMap.get(3).get("startTime")+"-"+dateMap.get(3).get("endTime"));
        List<String> head11 = new ArrayList<String>();
        head11.add("W5"+dateMap.get(4).get("startTime")+"-"+dateMap.get(4).get("endTime"));
        List<String> head12 = new ArrayList<String>();
        head12.add("W6"+dateMap.get(5).get("startTime")+"-"+dateMap.get(5).get("endTime"));
        list.add(head0);
        list.add(head1);
        list.add(head2);
        list.add(head3);
        list.add(head4);
        list.add(head5);
        list.add(head6);
        list.add(head7);
        list.add(head8);
        list.add(head9);
        list.add(head10);
        list.add(head11);
        list.add(head12);
        return list;
    }

    public static List<List<Object>> dataList() {
        List<List<Object>> list = new ArrayList<List<Object>>();
        List<Object> data1 = new ArrayList<Object>();
        data1.add("C00004");
        List<Object> data2 = new ArrayList<Object>();
        data2.add("APP");
        List<Object> data3 = new ArrayList<Object>();
        data3.add("");
        List<Object> data4 = new ArrayList<Object>();
        data4.add("");
        List<Object> data5 = new ArrayList<Object>();
        data5.add("11441");
        List<Object> data6 = new ArrayList<Object>();
        data6.add("糙米卷卷（蛋黄味）");
        List<Object> data7 = new ArrayList<Object>();
        data7.add("箱");
        List<Object> data8 = new ArrayList<Object>();
        data8.add("100");
        List<Object> data9 = new ArrayList<Object>();
        data9.add("100");
        List<Object> data10 = new ArrayList<Object>();
        data10.add("100");
        List<Object> data11 = new ArrayList<Object>();
        data11.add("100");
        List<Object> data12 = new ArrayList<Object>();
        data12.add("100");
        List<Object> data13 = new ArrayList<Object>();
        data13.add("100");
        list.add(data1);
        list.add(data2);
        list.add(data3);
        list.add(data4);
        list.add(data5);
        list.add(data6);
        list.add(data7);
        list.add(data8);
        list.add(data9);
        list.add(data10);
        list.add(data11);
        list.add(data12);
        list.add(data13);
        return list;
    }
}
